#ifndef SERIALIZABLE_H
#define SERIALIZABLE_H

#include <ostream>

// An object which can be:
// saved to an output stream, and
// parsed from an input stream.
//
// This is a pure virtual class, and will usually be multiply-inherited
// by a child class.

class Serializable {
public:
    virtual std::ostream& print(std::ostream& os) const {
        return os;
    }
};

#endif
